package com.clstu.samllchange;

import java.text.SimpleDateFormat;//text中的用于格式化时间（日期）的类
import java.util.Date;
import java.util. Scanner;

public class SmallChangeSys {     //零钱通，面向过程版
    public static void main(String[] args) {
        Scanner myScanner = new Scanner(System.in);
        String op="";
        boolean loop=true;
        String detail="-----------零钱通明细-----------";
        String item="";
        String exit="";
        double money=0;
        double balance=0;
        double cost=0;
        Date date=new Date();//时间/日期，获取当前时间，默认是外国的格式
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");//括号的内容表示修改的时间格式
       // System.out.println(sdf.format(date));//调用sdf的format方法，对日期对象进行格式化（即修改它的格式）
        do{
            System.out.println("\n============零钱通菜单===========");
            System.out.println("\t\t\t1.零钱通明细");
            System.out.println("\t\t\t2.收益入账");
            System.out.println("\t\t\t3.消费");
            System.out.println("\t\t\t4.退出");
            op=myScanner.next();
            switch(op){
                case "1":
                    System.out.println(detail);
                    break;
                case "2":
                    System.out.println("-----------收益入账-----------");
                    System.out.println("请输入收益金额：");
                    money=myScanner.nextDouble();
                    if(money<=0){
                        System.out.println("收益金额不正确，不能为负！");
                        break;
                    }
                    balance+=money;
                    date=new Date();
                    detail+="\n收益入账： "+money+"\t  "+sdf.format(date)+"   余额：  "+balance;
                    break;
                case "3":
                    System.out.println("-----------消费-----------");
                    System.out.println("请输入消费项目：");
                    item=myScanner.next();
                    System.out.println("请输入消费金额：");
                    cost=myScanner.nextDouble();
                    if(balance<cost){
                        System.out.println("钱不够了，消费不起了，亲！！！！！！");
                        break;
                    }
                    if(cost<=0){
                        System.out.println("消费金额不正确，消费金额不能为0或者为负");
                        break;
                    }
                    balance-=cost;
                    date=new Date();
                    detail+="\n"+item+"\t-"+cost+"\t  "+sdf.format(date)+"   余额：  "+balance;
                    break;
                case "4":
                    System.out.println("-----------退出...-----------");
                    System.out.println("确定要退出吗？（y/n)");
                    exit=myScanner.next();
                    while(!exit.equals("n")&&!exit.equals("N")&&!exit.equals("y")&&!exit.equals("Y")){
                        System.out.println("输入有误，请重新输入");
                        exit=myScanner.next();
                    }

                    if(exit.equals("n")||exit.equals("N")){
                        break;
                    }
                    else{
                        loop=false;
                        break;
                    }
                default:
                    System.out.println("你的输入有误。。。");
                    break;
            }
        }while(loop==true);
    }
}
